Hoppa till huvudinnehåll

Planera-för-api

tips

Plan-ahead API:et är avsett för att skicka scheman i förväg. För livekontroll, se istället Live MQTT control.

Vad du behöver

  1. Ett API-användarnamn och lösenord. Du kan använda ditt Insights-konto för detta, eller begära ett API-konto genom att skicka ett e-postmeddelande till support@eniris.be, där du tydligt nämner ditt enhetsserienummer.
  2. Python utvecklingsmiljö (eller någon annan MQTT-klient). Denna guide använder ett enkelt exempel skrivet i Python för att hjälpa dig komma igång med MQTT och skicka kommandon. Vi rekommenderar att använda Python för användarvänligheten, men alla andra MQTT-klienter stöds.

Första gången konfiguration (Startpunkt för nya användare)

1. Hitta enhets-ID:erna för de enheter som du vill kontrollera

Enhets-ID:t (även kallat nodeId) är en unik identifierare för varje enhet i vårt system och används när man skickar kommandon till enheter.

Just nu är det enklaste sättet att få dina ID:n genom att navigera till: http://<CONTROLLER_IP>/debugger

Expandera rutan 'Metadata' och notera varje nodeId från alla enheter som du vill kontrollera. Du kommer att behöva dessa ID:n i ett senare steg.

Bild 1

2. Lägg till dina enheter

Logga in på installationsgränssnittet och se till att enheterna är tillagda till SmartgridOne Controller.

3. Lägg till API extern signal

Bild 1
Bild 1
Bild 1
Bild 1

4. Ange insamlare-token

Ange helt enkelt SmartgridOne Controller's serienummer här och klicka på skicka.

5. Välj enheter att inkludera

På denna sida har du möjlighet att inkludera/exkludera enheter för fjärrkontroll. Se till att markera alla kryssrutor för de enheter du vill inkludera.

Bild 1

6. Data källa har lagts till

Fjärrkontrollgränssnittet har nu aktiverats på SmartgridOne Controller. Du kan nu börja skicka dina kommandon till enheterna.

warning

Glöm inte att ställa in ett fallback-regime på SmartgridOne Controller! Ett lokalt kontrolläge behöver konfigureras utöver de externa API-signaler du skickar. Lokal kontroll används som en fallback om SmartgridOne Controller tappar internet eller om det finns andra orsaker som gör att API-signalen inte kan nå SmartgridOne Controller.

Skicka fjärrkontrollkommandon med Python

Nedan finns ett Python-exempel på hur man kontrollerar solenergi eller batteri.

tips

Kolla in dokumentet Applikationsguide - Fjärrinställningar för en mer komplett förklaring med alla policys.

Krävd paket: pip install eniris

# %% Imports
from eniris import ApiDriver
from eniris.point import Point
from eniris.point.writer import (PointDuplicateFilter, DirectPointToTelemessageWriter)
from eniris.telemessage.writer import PooledTelemessageWriter
from datetime import datetime, timezone

# %% Konstant
COMMAND_UNTIL = '2024-04-16T10:26:00+02:00' # ÅÅÅÅ-MM-DDTHH:MM:SS+00:00
SN = '<ERSTATTA>'
COMMAND = fields = {'policy': 2, 'powerSetpoint_W': 0.0} # 0: Standard (självförbrukning); 2: Följ-inställning


# %% Starta nedskärning
curtail_until = datetime.fromisoformat(COMMAND_UNTIL).astimezone(timezone.utc)
print(f'Följande kommando tills: {curtail_until}')
apiUsername = "<ERSTATTA>"
apiPassword = "<ERSTATTA>"

# Skapa en API-drivrutin och en punktförfattare med önskad funktionalitet
driver = ApiDriver(apiUsername, apiPassword)
writer = PointDuplicateFilter(
DirectPointToTelemessageWriter(
PooledTelemessageWriter(
authorizationHeaderFunction=driver.accesstoken,
params={"u": SN},
)
)
)
namespace = {'database': 'SGC', 'retentionPolicy': 'rp_one_s'}
tags = {
"serialNr": SN,
"nodeId": '<ERSTATTA>',
}

writer.writePoints([Point(namespace, 'remoteControlSignals', curtail_until, tags, fields)])
writer.flush()
print('Skickat')

Var särskilt uppmärksam på:

  • 'COMMAND_UNTIL': Detta är en tidsstämpel med tidszon som anger sluttiden för ditt kommando.
  • 'COMMAND': Detta bör ändras beroende på vilket kommando du vill utföra.
    • T.ex.: för batterier, policy 2 med powerSetpoint_W på 1000 kommer att ladda batteriet med 1 kW.
    • För solenergi, policy 2 med powerSetpoint_W på 0 kommer att inaktivera solproduktion.
    • Efter att ditt kommando har avslutats, kommer det automatiskt att återgå till standardkontroll (som konfigurerats i SmartgridOne Controller).
    • (mer avancerade policys stöds, men har inte lagts till i denna guide än)
  • 'tags' variabeln: Denna bör ändras enligt SmartgridOne Controller SN, där nodeId bör ställas in på det enhets-ID som extraherades i ett tidigare steg av denna handledning.
tips

Kolla in dokumentet Applikationsguide - Fjärrinställningar för en mer komplett förklaring med alla policys.